package com.shangma.cn.entity.base.impl;

import com.baomidou.mybatisplus.annotation.TableName;
import com.shangma.cn.commons.valid.AddGroup;
import com.shangma.cn.commons.valid.UpdateGroup;
import com.shangma.cn.entity.base.BaseEntity;
import lombok.Data;
import org.hibernate.validator.constraints.URL;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;

/**
 * 开发人员: 辉哥真球帅
 * 联系方式: zhengzhoudaxuevip@163.com
 * 创建时间: 2021/10/7  16:39
 * 文件含义:
 */
@TableName("base_brand")
@Data
public class Brand extends BaseEntity {
    /**
     * @NotNull 这个注解描述的属性取值不能为null 但是可以为"" " " "null"
     * @NotBlank: 这个注解描述的属性不能为null 必须包含非空字符   null和"" "   " 都不行
     * @NotEmpty：这个注解可以修饰字符串和集合 含义是 不管是字符串还是集合 length或者size属性必须大于0
     * @Null ：这个注解修饰的属性 必须得是null
     * <p>
     * 长度相关
     * @Size： 可以修饰字符串 集合 指定min和max
     * @Length 只能修改字符串 和size用法一致
     * @Min 修饰数字 指定这个数字的最小值
     * @Max 修饰数字 指定这个数字的最大值
     * @URL: 必须是一个连接
     * @Email: 你传递的字符串必须得是邮箱
     * @Pattern: 正则表达式
     * <p>
     * <p>
     * 日期相关： 出生年月
     * @past 表示修饰的时间 必须得是一个过去的时间
     * @Future 表示修饰的时间 必须得是一个未来的时间
     * <p>
     * ----------------------------------------------------------------------------------
     * 非必要的：
     */
    @NotBlank(message = "品牌名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String brandName;
    @NotBlank(message = "品牌站点不能为空", groups = {AddGroup.class, UpdateGroup.class})
    @URL(message = "你丫的能传个连接不", groups = {AddGroup.class, UpdateGroup.class})
    private String brandSite;
    @NotBlank(message = "品牌描述不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String brandDesc;
    private String brandLogo;
}
